FIG. 1 depicts a block diagram of telecommunications system 100 in the prior art. Telecommunications system 100 comprises: designating telecommunications terminal 101, designated telecommunications terminal 102, call-processing server 103, telecommunications network 104, and telecommunications terminal 105, interconnected as shown.
Designating telecommunications terminal 101 is a personal computer (e.g., a laptop, etc.) that runs software that enables the terminal to provide telecommunications services to its user by transmitting and receiving packets of information. In this capacity, terminal 101 can be referred to as a softphone. Some of the telecommunications services that terminal 101 provides include placing and receiving calls, emailing, instant messaging, and so forth. Terminal 101 interacts with call-processing server 103 via a signaling channel to initiate a session to provide a telecommunications service. Terminal 101 uses the Session Initiation Protocol (or “SIP”) set of rules to initiate a session. Once a session has been initiated, terminal 101 transmits via telecommunications network 104 session-related traffic, such as voice or data, in packet format to one or more destinations, and also receives, via network 104, session-related traffic from one or more sources. Terminal 101 transmits and receives traffic by using the Internet Protocol set of rules and, as such, is an Internet Protocol-based terminal that is capable of providing Voice over Internet Protocol (or “VoIP”) to its user, among other services.
Designated telecommunications terminal 102 is a telecommunications terminal that is capable of exchanging information with call-processing server 103 for the purposes of transmitting or receiving voice or data traffic. Terminal 102 might be a packet-based terminal, similar to terminal 101, or it might be a circuit-based terminal based on older technology, such as a Plain Old Telephone Service (or “POTS”) wireline telephone. As part of a call or session, terminal 102 transmits and receives voice and data traffic via what is sometimes referred to as a media channel.
Call-processing server 103 is a data-processing system (e.g., at an office building, at a central office switching center, etc.) that is capable of exchanging signaling information and traffic with terminals 101 and 102. Call-processing server 103's interaction with terminals 101 and 102 is supported by telecommunications network 104.
Telecommunications network 104 enables the transport of signaling information, as well as voice and data traffic, between the endpoints (e.g., terminal 101, call-processing server 103, etc.) in telecommunications system 100. Telecommunications network 104 might comprise one or more of the Public Switched Telephone Network, the Internet, one or more dedicated packet-based networks, and so forth.
The softphone functionality of designating telecommunications terminal 101 enables its user to designate an endpoint in telecommunications system 100, such as designated telecommunications terminal 102, as having one or more privileges. One example of a privilege is handling all calls made to the user. A softphone user might want to designate another terminal to handle calls because the other terminal, for example, (i) offers better quality, (ii) is more capable, or (iii) has greater reliability than the user's laptop. To designate terminal 102 to be the recipient of calls, the user enters the address of terminal 102 (e.g., a telephone number, an Internet Protocol address, etc.) on his laptop (i.e., terminal 101), and the softphone application transmits the user request to call-processing server 103.
The problem with a softphone having the capability to designate another terminal is that malicious software, or “malware,” also can designate another terminal (e.g., telecommunications terminal 105, etc.) without the user's knowledge. The malware (e.g., a computer virus, etc.) introduced by an adversary could use the softphone for toll fraud in a manner described here. The malware could access and activate terminal 101, and designate the adversary's current terminal (i.e., terminal 105) to place and receive calls. The softphone could then be instructed to call the telephone number of the adversary's choice. The malware could be controlled via instructions from an external server to which the malware connects.
Some security techniques in the prior art offer some protection against malware. For example, the user could be required to provide a user name and password to the call-processing server in order to designate another terminal. Password-based techniques are fallible, however, in that either (i) the user might have already successfully gained access before the malware activates the softphone or (ii) the softphone might store the user name and password information as a convenience to the user, only to have the malware steal the information.
What is needed is a technique for determining whether or not to grant a telecommunications terminal one or more privileges, without some of the disadvantages of the prior art.